package com.crm.service.returnMoney;

import com.crm.model.entity.returnMoney.BankFlowExamine;
import com.crm.model.qo.returnMoney.BankFlowExamineQO;
import com.crm.model.vo.finishOrderProduct.FinishOrderProductVO;
import com.crm.model.vo.returnMoney.BankFlowExamineVO;
import com.crm.model.vo.returnMoney.ReturnMoneyVO;

import java.util.List;

/**
 *
 * @Author xielinqi
 * @Date 10:06 上午 2021/11/2
 */
public interface BankFlowExamineDbService {

    /**
     * 新增
     * @Param bankFlowExamine
     * @Author xielinqi
     * @Date 10:07 上午 2021/11/2
     */
    int insertSelective(BankFlowExamine bankFlowExamine);

    /**
     * 根据流水关联id查询待审核数量（检查是否已提交申请）
     * @Param relationId
     * @Author xielinqi
     * @Date 2:29 下午 2021/11/2
     */
    int getToBeExamineCount(String relationId);

    /**
     * 流水审核列表
     * @Param bankFlowExamineQO
     * @Author xielinqi
     * @Date 3:36 下午 2021/11/2
     */
    List<BankFlowExamineVO> selectList(BankFlowExamineQO bankFlowExamineQO);

    /**
     * 根据审核id查询
     * @Param examineId
     * @Author xielinqi
     * @Date 5:02 下午 2021/11/2
     */
    BankFlowExamineVO selectByExamineId(String examineId);

    /**
     * 修改
     * @Param bankFlowExamine
     * @Author xielinqi
     * @Date 8:20 上午 2021/11/3
     */
    int updateByPrimaryKeySelective(BankFlowExamine bankFlowExamine);

    /**
     * 产品列表
     * @Param bankFlowExamineQO
     * @Author xielinqi
     * @Date 9:01 上午 2021/11/8
     */
    List<FinishOrderProductVO> selectProductList(BankFlowExamineQO bankFlowExamineQO);

    /**
     * 回款列表
     * @Param bankFlowExamineQO
     * @Author xielinqi
     * @Date 10:26 上午 2021/11/8
     */
    List<ReturnMoneyVO> selectReturnMoneyList(BankFlowExamineQO bankFlowExamineQO);

    /**
     * 当前审核信息
     * @Param examineId
     * @Author xielinqi
     * @Date 5:56 下午 2021/11/8
     */
    ReturnMoneyVO selectCurExamineReturnMoney(String examineId);

    /**
     * 根据订单id删除未审核的记录
     * @Param productOrderId
     * @Author xielinqi
     * @Date 1:58 下午 2021/11/15
     */
    int delByProductOrderId(String productOrderId);
}
